namespace QMVnSoft.Opening
{
    using QMVnSoft;
    using QMVnSoft.Controls;
    using QMVnSoft.DAL;
    using System;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Windows.Forms;

    public class FormCDKT0Lister : FormOpenningLister
    {
        private IContainer components;
        private CDKTDataAccess oMethod;

        public FormCDKT0Lister()
        {
            this.oMethod = new CDKTDataAccess();
            this.InitializeComponent();
        }

        public FormCDKT0Lister(bool pb_CheckDetailMost) : base(pb_CheckDetailMost)
        {
            this.oMethod = new CDKTDataAccess();
            this.InitializeComponent();
        }

        protected override void Dispose(bool disposing)
        {
            if (disposing && (this.components != null))
            {
                this.components.Dispose();
            }
            base.Dispose(disposing);
        }

        private void InitializeComponent()
        {
            base.SuspendLayout();
            base.AutoScaleDimensions = new SizeF(6f, 13f);
            base.ClientSize = new Size(0x31a, 0x1cf);
            base.Name = "FormCDKT0Lister";
            this.Text = "Số dư đầu tài khoản 131";
            base.ResumeLayout(false);
            base.PerformLayout();
        }

        protected override void OnAdd()
        {
            if (AppInstance.EndingDateOfSubEnterprice >= AppInstance.OpeningDateOfSubEnterprice)
            {
                MessageBox.Show("Đã khóa dữ liệu!", AppInstance.SoftwareName, MessageBoxButtons.OK, MessageBoxIcon.Hand);
            }
            else
            {
                base.LocalFormEditor = new FormCDKTEditor();
                base.OnAdd();
            }
        }

        protected override void OnDelete()
        {
            if (AppInstance.EndingDateOfSubEnterprice >= AppInstance.OpeningDateOfSubEnterprice)
            {
                MessageBox.Show("Đã khóa dữ liệu!", AppInstance.SoftwareName, MessageBoxButtons.OK, MessageBoxIcon.Hand);
            }
            else if ((base.DataGridBrowser.CurrentRow != null) && (MessageBox.Show(AppInstance.DeleMessage, AppInstance.SoftwareName, MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes))
            {
                if ((base.DataGridBrowser.SelectedRows != null) && (base.DataGridBrowser.SelectedRows.Count != 0))
                {
                    foreach (DataGridViewRow row in base.DataGridBrowser.SelectedRows)
                    {
                        DataRow row2 = ((DataRowView) row.DataBoundItem).Row;
                        if (this.oMethod.Delete(row2["Stt"]))
                        {
                            base.LocalTable.Rows.Remove(row2);
                        }
                    }
                }
                else
                {
                    DataRow row3 = ((DataRowView) base.DataGridBrowser.CurrentRow.DataBoundItem).Row;
                    if (this.oMethod.Delete(row3["Stt"]))
                    {
                        base.LocalTable.Rows.Remove(row3);
                    }
                }
                base.LocalTable.AcceptChanges();
            }
        }

        protected override void OnEdit()
        {
            if (AppInstance.EndingDateOfSubEnterprice >= AppInstance.OpeningDateOfSubEnterprice)
            {
                MessageBox.Show("Đã khóa dữ liệu!", AppInstance.SoftwareName, MessageBoxButtons.OK, MessageBoxIcon.Hand);
            }
            else
            {
                base.LocalFormEditor = new FormCDKTEditor();
                base.OnEdit();
            }
        }

        protected override void OnGenerateColumns()
        {
            if (base.LocalParentRow == null)
            {
                this.Text = "Số dư đầu kỳ tài khoản";
                object[][] objArray = new object[9][];
                object[] objArray2 = new object[4];
                objArray2[0] = "Ngay_Ct";
                objArray2[1] = "Ngày";
                objArray2[2] = "D";
                objArray[0] = objArray2;
                object[] objArray3 = new object[4];
                objArray3[0] = "So_Ct";
                objArray3[1] = "Số";
                objArray3[2] = "C";
                objArray[1] = objArray3;
                object[] objArray4 = new object[4];
                objArray4[0] = "Ma_Tte";
                objArray4[1] = "Tiền tệ";
                objArray4[2] = "C";
                objArray[2] = objArray4;
                objArray[3] = new object[] { "Du_No", "Dư nợ", "N", AppInstance.TextNumericFormat.LocalAmount };
                objArray[4] = new object[] { "Du_Co", "Dư có", "N", AppInstance.TextNumericFormat.LocalAmount };
                objArray[5] = new object[] { "Du_No_Nt", "Dư nợ ngoại tệ", "N", AppInstance.TextNumericFormat.ForeignAmount };
                objArray[6] = new object[] { "Du_Co_Nt", "Dư có ngoại tệ", "N", AppInstance.TextNumericFormat.ForeignAmount };
                objArray[7] = new object[] { "Du_No0", "Dư nợ đầu năm " + AppInstance.OpeningDateOfSubEnterprice.Year.ToString(), "N", AppInstance.TextNumericFormat.LocalAmount };
                objArray[8] = new object[] { "Du_Co0", "Dư có đầu năm " + AppInstance.OpeningDateOfSubEnterprice.Year.ToString(), "N", AppInstance.TextNumericFormat.LocalAmount };
                base.LocalColNames = objArray;
            }
            else if (base.LocalParentRow["Tk_Dt"].ToString() == "K")
            {
                this.Text = "Số dư đầu kỳ tài khoản: " + base.LocalParentRow["Tk"].ToString() + " - " + base.LocalParentRow["Ten_Tk"].ToString();
                object[][] objArray11 = new object[9][];
                object[] objArray12 = new object[4];
                objArray12[0] = "Ngay_Ct";
                objArray12[1] = "Ngày";
                objArray12[2] = "D";
                objArray11[0] = objArray12;
                object[] objArray13 = new object[4];
                objArray13[0] = "So_Ct";
                objArray13[1] = "Số";
                objArray13[2] = "C";
                objArray11[1] = objArray13;
                object[] objArray14 = new object[4];
                objArray14[0] = "Ma_Tte";
                objArray14[1] = "Tiền tệ";
                objArray14[2] = "C";
                objArray11[2] = objArray14;
                objArray11[3] = new object[] { "Du_No", "Dư nợ", "N", AppInstance.TextNumericFormat.LocalAmount };
                objArray11[4] = new object[] { "Du_Co", "Dư có", "N", AppInstance.TextNumericFormat.LocalAmount };
                objArray11[5] = new object[] { "Du_No_Nt", "Dư nợ ngoại tệ", "N", AppInstance.TextNumericFormat.ForeignAmount };
                objArray11[6] = new object[] { "Du_Co_Nt", "Dư có ngoại tệ", "N", AppInstance.TextNumericFormat.ForeignAmount };
                objArray11[7] = new object[] { "Du_No0", "Dư nợ đầu năm " + AppInstance.OpeningDateOfSubEnterprice.Year.ToString(), "N", AppInstance.TextNumericFormat.LocalAmount };
                objArray11[8] = new object[] { "Du_Co0", "Dư có đầu năm " + AppInstance.OpeningDateOfSubEnterprice.Year.ToString(), "N", AppInstance.TextNumericFormat.LocalAmount };
                base.LocalColNames = objArray11;
            }
            else
            {
                this.Text = "Số dư đầu kỳ tài khoản: " + base.LocalParentRow["Tk"].ToString() + " - " + base.LocalParentRow["Ten_Tk"].ToString();
                object[][] objArray21 = new object[11][];
                object[] objArray22 = new object[4];
                objArray22[0] = "Ma_Dt";
                objArray22[1] = "Đối tượng";
                objArray22[2] = "C";
                objArray21[0] = objArray22;
                object[] objArray23 = new object[4];
                objArray23[0] = "Ten_Dt";
                objArray23[1] = "Tên đối tượng";
                objArray23[2] = "C";
                objArray21[1] = objArray23;
                object[] objArray24 = new object[4];
                objArray24[0] = "Ngay_Ct";
                objArray24[1] = "Ngày";
                objArray24[2] = "D";
                objArray21[2] = objArray24;
                object[] objArray25 = new object[4];
                objArray25[0] = "So_Ct";
                objArray25[1] = "Số";
                objArray25[2] = "C";
                objArray21[3] = objArray25;
                object[] objArray26 = new object[4];
                objArray26[0] = "Ma_Tte";
                objArray26[1] = "Tiền tệ";
                objArray26[2] = "C";
                objArray21[4] = objArray26;
                objArray21[5] = new object[] { "Du_No", "Dư nợ", "N", AppInstance.TextNumericFormat.LocalAmount };
                objArray21[6] = new object[] { "Du_Co", "Dư có", "N", AppInstance.TextNumericFormat.LocalAmount };
                objArray21[7] = new object[] { "Du_No_Nt", "Dư nợ ngoại tệ", "N", AppInstance.TextNumericFormat.ForeignAmount };
                objArray21[8] = new object[] { "Du_Co_Nt", "Dư có ngoại tệ", "N", AppInstance.TextNumericFormat.ForeignAmount };
                objArray21[9] = new object[] { "Du_No0", "Dư nợ đầu năm " + AppInstance.OpeningDateOfSubEnterprice.Year.ToString(), "N", AppInstance.TextNumericFormat.LocalAmount };
                objArray21[10] = new object[] { "Du_Co0", "Dư có đầu năm " + AppInstance.OpeningDateOfSubEnterprice.Year.ToString(), "N", AppInstance.TextNumericFormat.LocalAmount };
                base.LocalColNames = objArray21;
            }
            base.OnGenerateColumns();
        }

        protected override void OnRefresh()
        {
            if (base.LocalParentRow == null)
            {
                base.LocalTable = this.oMethod.GetDataTable(AppInstance.Subsidiary, "");
            }
            else
            {
                base.LocalTable = this.oMethod.GetDataTable(AppInstance.Subsidiary, base.LocalParentRow["Tk"]);
            }
            base.OnRefresh();
        }
    }
}

